﻿using ProjectFootball.MVC.Foundation.Repositories;
using ProjectFootball.MVC.Models.EntityFramework.Entities;

namespace ProjectFootball.MVC.Models.RepositoryProviders
{
    public interface IRepositoryProvider
    {
        IDataRepository<Campaign> CampaignRepository { get; }
        IDataRepository<Competition> CompetitionRepository { get; }
        IDataRepository<Country> CountryRepository { get; }
        IDataRepository<LookupCompetition> LookupCompetitionRepository { get; }
        IDataRepository<LookupMatch> LookupMatchRepository { get; }
        IDataRepository<LookupPerson> LookupPersonRepository { get; }
        IDataRepository<LookupTeam> LookupTeamRepository { get; }
        IDataRepository<Match> MatchRepository { get; }
        IDataRepository<MatchEvent> MatchEventRepository { get; }
        IDataRepository<Person> PersonRepository { get; }
        IDataRepository<Team> TeamRepository { get; }
        IDataRepository<TeamVersion> TeamVersionRepository { get; }
        IDataRepository<Venue> VenueRepository { get; }
        void SaveChanges();
    }
}